package com.topc.others.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.topc.base.model.PageParams;
import com.topc.base.model.PageResult;
import com.topc.others.model.dto.SaveCompetitionInfoDto;
import com.topc.others.model.po.CompetitionInfo;
import com.topc.others.model.vo.CompetitionCheckInfoVo;
import com.topc.others.model.vo.CompetitionDetailShowVo;
import com.topc.others.model.vo.CompetitionInfoShowVo;
import com.topc.others.model.vo.CompetitionRankingShowVo;

import java.util.List;

/**
 * <p>
 * 竞赛信息 服务类
 * </p>
 *
 * @author itcast
 * @since 2024-01-22
 */
public interface ICompetitionInfoService extends IService<CompetitionInfo> {

    void saveCompetitionInfo(SaveCompetitionInfoDto saveCompetitionInfoDto);

    void deleteCompetitionInfoById(Long id);

    void updateCompetitionInfoById(Long id, Integer status);

    PageResult<CompetitionInfoShowVo> getCompetitionInfoByPage(String userNumber,PageParams pageParams, String title);

    CompetitionDetailShowVo getDetailById(String userNumber, Long competitionId);

    Long getComposeId(Long competitionId);

    CompetitionCheckInfoVo getCompetitionCheckInfo(Long competitionId, String userNumber);

    List<CompetitionRankingShowVo> getRanking(Long competitionId);
}
